其他
R画图已入门,怎样进阶?
《想学画图、数据处理,先学哪些R包?看哪些书?》推荐了两本书,帮你入门,今天小丫来Y叔叔这里班门弄斧——谈谈目前我找到的进阶之路,请Y叔点评。
画图系统
R画图,常见两种画图系统:
基础图形系统,俗称base,以为自己没用R包,其实有个幕后英雄——R包graphics
网格图形系统,R包grid。常见的ggplot2、pheatmap、complexheatmap,都基于这个画图系统。
理解了画图系统的概念,找起资料就有章可循了。
基础图形系统的进阶
STEP1:看例子,demo(graphics)
STEP2:学函数的用法,library(help = "graphics")。或者看网页版http://search.r-project.org/R/library/graphics/html/00Index.html
STEP3:跟着R包里的函数学习,看R包里的画图函数
是怎样一步步实现的。例如做lasso时用到的glmnet
包,自带的画图函数不完美,琢磨怎样改才能达到自己想要的效果,在改的过程中学习和理解。
网格图形系统的进阶
STEP1:ggplot2进阶,从《R数据可视化手册》知其然,从《ggplot2:数据分析与图形艺术》知其所以然。
STEP2:grid进阶,读《R绘图系统》,最早是看到Y叔推荐,吃灰两年,终于等到小丫开窍。最近作者用grid重写了base graphics,函数名相同,两个系统的语言对比着看,快速理解grid。
https://github.com/pmur002/gridgraphics/tree/master/R
《听说你想把Gviz画的基因结构转成ggplot?》
STEP4:跟着R包学。ggtree是个活教材,还有电子书:
https://yulab-smu.github.io/treedata-book/
画图要我说,就是多画着玩。另外提到基于
grid
的包,我觉得不能漏了lattice
。
往期精彩